#pragma once

#include "Command.h"

namespace Base { namespace CmdFwk {

    // After execute, InstantCmd should be destroyed.

    class InstantCmd : public Command
    {
    protected:
        friend class CmdMgr;
        InstantCmd(const void* id);
        virtual ~InstantCmd();
        
    public:
        // Inherit from Command.
        virtual bool isInstantCmd() const;
        
        virtual void execute() = 0;
    };

}}